
#在不影响函数定义 和 执行的情况下 给函数加日志(在函数执行前 打印 函数名+ 函数开始执行.....)

def test(a=1,b=2,c=3):
    print("this is test",a,b,c)
    return a+b+c

def test2(a=1,b=2,c=3):
    print("this is test2",a,b,c)
    return a+b+c

p = test(5,6,7)
q = test2(5,6,7)
print(p,q)

print("----------------------------------------")

def log(fn):
    def wrapper(a,b,c):
        print(fn.__name__ + " 函数开始执行....")
        res = fn(a,b,c)
        print(fn.__name__ + " 函数执行结束....")
        return res
    return wrapper

test = log(test)
test2 = log(test2)

p = test(5,6,7)
q = test2(5,6,7)
print(p,q)



